home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / bbsutil / qbbs276d.zip / STRUCT.276 < prev    next >
Text File  |  1993-01-02  |  16KB  |  452 lines

  1.   (****************************************************************************)
  2.   (*         Structures document for QuickBBS version 2.76                    *)
  3.   (*         Copyright 1991,1992   Pegasus Software                           *)
  4.   (*         All Rights Reserved.                                             *)
  5.   (****************************************************************************)
  6.  
  7. Const
  8.   MaxMsgAreas  = 200;
  9.   MaxFileAreas = 200;
  10.   MaxEvents    = 30;
  11.  
  12. type
  13.  
  14.   FlagType = array[1..4] of Byte;
  15.  
  16.   UserRecord = record
  17.                  Name        : String[35];
  18.                  City        : String[25];
  19.                  Pwd         : String[15];
  20.                  DataPhone,
  21.                  HomePhone   : String[12];
  22.                  LastTime    : String[5];
  23.                  LastDate    : String[8];
  24.                  Attrib      : Byte;
  25.                  Flags       : FlagType;
  26.                  Credit,
  27.                  Pending,
  28.                  TimesPosted,
  29.                  HighMsgRead,
  30.                  SecLvl,
  31.                  Times,
  32.                  Ups,
  33.                  Downs,
  34.                  UpK,
  35.                  DownK       : Word;
  36.                  TodayK      : Integer;
  37.                  Elapsed,
  38.                  Len         : Integer;
  39.                  CombinedPtr : Word; (* Record number in COMBINED.BBS *)
  40.                  AliasPtr    : Word; (* Record number in ALIAS.BBS *)
  41.                  Birthday    : Longint;
  42.                end;
  43.  
  44. (*  Attrib:
  45.  
  46.       Bit 0: Deleted
  47.       Bit 1: Screen Clear Codes
  48.       Bit 2: More Prompt
  49.       Bit 3: ANSI
  50.       Bit 4: No-Kill
  51.       Bit 5: Ignore Download Hours
  52.       Bit 6: ANSI Full Screen Editor
  53.       Bit 7: Sex (0=male, 1=female)
  54.  
  55. *)
  56.  
  57. type
  58.  
  59.   UserActivityType = (InMenu, InDoor, InCallback, 
  60.                       ReadingMessages, WritingMessage,
  61.                       ChattingWithSysop, ChattingWithUsers,
  62.                       AnsweringQuestionaire, ViewingTextFile, 
  63.                       DownloadingFile, UploadingFile, ViewingFileList, 
  64.                       DoingFileSearch, LoggingOn, LoggingOff);
  65.  
  66.  
  67.   USERONrecord   = record
  68.                      Name           : String[35];
  69.                      Alias          : String[35];
  70.                      Line           : Byte;
  71.                      Baud           : Word;
  72.                      City           : String[25];
  73.                      DoNotDisturb   : Boolean;
  74.                      Conference     : Byte;
  75.                      Activity       : UserActivityType;
  76.                      Spare          : Array[1..9] of Byte;
  77.                    end;
  78.  
  79.   AliasRecord = String[35]; (* for ALIAS.BBS *)
  80.  
  81.   MsgToIdxRecord = String[35];
  82.  
  83.   MsgTxtRecord = String[255];
  84.  
  85.   { Nodelist Records *************************************************** }
  86.  
  87.   NodeTypes      = (ntZone, ntRegion, ntNet, ntNode, ntPrefix);
  88.  
  89.   NodeIdxRecord  = record
  90.                        NodeType       : NodeTypes;
  91.                        Number,
  92.                        Cost           : Word;
  93.                        RawFile        : Byte;
  94.                        RawPos         : LongInt;
  95.                    end;
  96.  
  97.   FileNameType   = String[12];
  98.  
  99.   NodeIncRecord  = record
  100.                        FileName       : FileNameType;
  101.                        DateStamp      : LongInt;
  102.                    end;
  103.  
  104.   { Message Records ******************************************************}
  105.  
  106.   CombSelectType = array[1..MaxMsgAreas] of Boolean; (* for COMBINED.BBS *)
  107.  
  108.   InfoRecord = record
  109.                  LowMsg  : Integer; { Lowest Message in File }
  110.                  HighMsg : Integer; { Highest Message in File }
  111.  
  112.                  TotalActive : Integer; { Total Active Messages }
  113.  
  114.                  ActiveMsgs : array[1..MaxMsgAreas] of Integer;
  115.                end;
  116.  
  117.   IdxRecord = record
  118.                 MsgNum : Integer;
  119.                 Board  : Byte;
  120.               end;
  121.  
  122.   HdrRecord = record
  123.                 MsgNum,
  124.                 ReplyTo,
  125.                 SeeAlsoNum,
  126.                 TRead    : Integer;
  127.                 StartRec : Word;
  128.                 NumRecs,
  129.                 DestNet,
  130.                 DestNode,
  131.                 OrigNet,
  132.                 OrigNode : Integer;
  133.                 DestZone,
  134.                 OrigZone : Byte;
  135.                 Cost     : Integer;
  136.                 MsgAttr,
  137.                 NetAttr,
  138.                 Board    : Byte;
  139.                 PostTime : String[5];
  140.                 PostDate : String[8];
  141.                 WhoTo,
  142.                 WhoFrom  : String[35];
  143.                 Subj     : String[72];
  144.               end;
  145.  
  146.  
  147. (* Msg Attributes:
  148.  
  149.       Bit 0: Deleted
  150.       Bit 1: Unmoved Outgoing Net Message
  151.       Bit 2: Is a Net Mail Message
  152.       Bit 3: Private
  153.       Bit 4: Received
  154.       Bit 5: Unmoved Outgoing Echo Message
  155.       Bit 6: Local Bit
  156.       Bit 7: Group Message
  157.  
  158.    Net Attributes:
  159.  
  160.       Bit 0: Kill Message after it's been sent
  161.       Bit 1: Sent OK
  162.       Bit 2: File(s) Attached
  163.       Bit 3: Crash Priority
  164.       Bit 4: Request Receipt
  165.       Bit 5: Audit Request
  166.       Bit 6: Is a Return Receipt
  167.       Bit 7: Freq
  168.  
  169. *)
  170.  
  171.   { Other Stuff *********************************************************** }
  172.  
  173.   SysInfoRecord = record
  174.                     CallCount        : LongInt;
  175.                     LastCallerName   : String[35];
  176.                     LastCallerAlias  : String[35];
  177.                     ExtraSpace : array[1..92] of Byte;
  178.                   end;
  179.  
  180.   TodayRecord = record
  181.                      Name           : String[35];
  182.                      Alias          : String[35];
  183.                      Line           : Byte;
  184.                      City           : String[25];
  185.                      Date           : Longint;
  186.                      Time           : Longint;
  187.                    end;
  188.  
  189.   TimeLogRecord = record
  190.                     StartDate   : String[8];
  191.                     BusyPerHour : array[0..23] of Integer;
  192.                     BusyPerDay  : array[0..6] of Integer;
  193.                   end;
  194.  
  195.   LastReadType = Array[1..MaxMsgAreas] of Word;
  196.  
  197.   MenuRecord = record
  198.                  Typ   : Byte;
  199.                  Sec   : Integer;
  200.                  Flags : FlagType;
  201.                  Str   : String[75];
  202.                  Key   : Char;
  203.                  Data  : String[80];
  204.                  Fg,
  205.                  Bg    : Byte;
  206.                end;
  207.  
  208.   { Configuration Information ********************************************** }
  209.  
  210.   TypeMsgs  = (Standard,Netmail,FMail,EchoMail);
  211.   KindMsgs  = (Both,Private,Public,ROnly);
  212.   EventStat = (Deleted, Enabled, Disabled);
  213.   AskType   = (No, Maybe, Yes);
  214.   ProtocolEnableType = (Never, MNP_Only, Always);
  215.  
  216.   SecurityRecord = Record
  217.     Security : Word;
  218.     Flags    : FlagType;
  219.   End;
  220.  
  221.   FileAreaRecord = Record (* FILECFG.DAT *)
  222.     AreaName,
  223.     FilePath,
  224.     ListPath    : String[66];
  225.     AllowUploads,
  226.     IgnoreKlimit,
  227.     IgnoreRatio : Boolean;
  228.     DlSec       : SecurityRecord;
  229.     SearchSec   : SecurityRecord;
  230.     TemplateSec : SecurityRecord;
  231.     CheckDupes  : Boolean;
  232.     Group       : Byte;
  233.     Spare       : Array[3..12] of Byte;
  234.   End;
  235.  
  236.   BoardRecord = record (* MSGCFG.DAT *)
  237.                   Name            : String[40];
  238.                   Typ             : TypeMsgs;
  239.                   Kinds           : KindMsgs;
  240.                   Combined        : Boolean;
  241.                   Aliases         : AskType;
  242.                   Aka             : Byte;
  243.                   OriginLine      : String[58];
  244.                   AllowDelete     : Boolean;
  245.                   KeepCnt,                (* Max # of Msgs to keep *)
  246.                   KillRcvd,               (* Kill received msgs after this many days *)
  247.                   KillOld         : Word; (* Kill msgs after this many days *)
  248.                   ReadSec         : SecurityRecord;
  249.                   WriteSec        : SecurityRecord;
  250.                   TemplateSec     : SecurityRecord;
  251.                   SysopSec        : SecurityRecord;
  252.                   FileArea        : Integer;  (* for Fmail *)